Skip to content

feat(server-nestjs): add Sécurité role to project system - #2675

Closed
shikanime wants to merge 8 commits into
mainfrom
feature/add-security-role
Closed

feat(server-nestjs): add Sécurité role to project system#2675
shikanime wants to merge 8 commits into
mainfrom
feature/add-security-role

Conversation

@shikanime

@shikanime shikanime commented Sep 4, 2026

Copy link
Copy Markdown
Member

Issues liées

Issues numéro:


Quel est le comportement actuel ?

Le système de rôles de projet n'a pas de rôle "Sécurité" dédié aux tâches de sécurité. Les rôles existants sont :

  • Développeur (position 1) : accès gestion des dépôts
  • Lecture seule (position 2) : accès lecture seule

Quel est le nouveau comportement ?

  • Ajout d'un rôle Sécurité (position 2) avec les permissions : SEE_SECRETS | LIST_ENVIRONMENTS | LIST_REPOSITORIES
  • Mise à jour du groupe OIDC : /${slug}/console/security
  • Le rôle Développeur est déplacé en position 3
  • Le rôle Lecture seule est déplacé en position 4

Ce rôle permet aux équipes de sécurité d'accéder aux informations sensibles nécessaires à l'audit et au monitoring sans avoir accès aux opérations de développement.

Cette PR introduit-elle un breaking change ?

Non. Cette PR est rétrocompatible. Les rôles existants conservent leurs permissions.

Autres informations

Tests : Tous les 23 tests du module projet passent.
Documentation : À mettre à jour dans les docs d'API projet.
Migration : Aucune migration requise pour les projets existants.

shikanime and others added 7 commits September 3, 2026 23:35
Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: Ideb5f2523e57a27b0fd5c77ca3b0b80b6a6a6964
Nexus testing utils use @msw/data Collection for faker-seeded project and
repository models. Server initialized empty, handlers added in beforeEach.

Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I1dc2e1d7e61d11c96c70279104c2672d6a6a6964
Vault testing utils use @msw/data Collection for faker-seeded secret engines
and secrets. Server initialized empty, handlers added in beforeEach.

Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I1ed87e505cc5a57922bdc0fa62621c596a6a6964
Registry testing utils use @msw/data Collection for faker-seeded Harbor
projects, robots, quotas, members, repositories. Handlers split into per-
resource subfunctions. makeRobotPermissions() extracted as factory.

Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I3040943080a743eb0d3e5a55f782a9766a6a6964
Split makeNexusHandlers into per-resource subfunctions for readability:
- makeNexusRepositoriesHandlers (maven/npm hosted + group CRUD)
- makeNexusPrivilegesHandlers
- makeNexusRolesHandlers
- makeNexusSecurityHandlers

Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I874229d36d4916baa5bc056f3c2c62886a6a6964
Split makeVaultHandlers into per-resource subfunctions for readability:
- makeVaultKvHandlers (kv read/write/metadata/list)
- makeVaultSysHandlers (policies, mounts, approle, auth methods)
- makeVaultIdentityHandlers (identity group CRUD)
- makeVaultTokenHandlers (token creation)

Preserve existing factory functions: makeProjectWithDetails, makeZoneWithDetails, makeVaultSecret, makeVaultSecretMetadata

Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: If9d9d123a0a479f6ae769647190c1bca6a6a6964
…functions

Split makeRegistryHandlers into per-resource subfunctions for readability:
- makeRegistryProjectsHandlers
- makeRegistryRepositoriesHandlers
- makeRegistryQuotasHandlers
- makeRegistryMembersHandlers
- makeRegistryRobotsHandlers
- makeRegistryRetentionsHandlers (db-free)

Refs #2655

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I9f36acac127736e6e62883818eade0ee6a6a6964
@shikanime
shikanime requested a review from a team as a code owner September 4, 2026 08:56
@github-actions github-actions Bot added the built label Sep 4, 2026
@shikanime
shikanime force-pushed the feature/add-security-role branch 2 times, most recently from d0329d1 to ddda755 Compare September 4, 2026 09:10
- Add Security role with position 2 and permissions SEE_SECRETS|LIST_ENVIRONMENTS|LIST_REPOSITORIES
- Update Developer role position from 2 → 3
- Update ReadOnly role position from 3 → 4
- Update test expectations accordingly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant